Skip to main content

Serial Transport Profile

  • Encoding: UTF-8
  • One request in flight per connection/session

Frame format:

+----------------------+-------------------+-------------------+  
| Length (4 bytes, BE) | Payload (N bytes) | CRC16 (2 bytes,BE)|
+----------------------+-------------------+-------------------+

Rules:

  • Length is payload size in bytes, unsigned big-endian. - CRC16 is calculated over Length || Payload.
  • CRC algorithm: CRC16-IBM (0x8005, initial 0x0000).
  • No extra transport ACK/NACK layer is defined.
  • Frames with CRC mismatch must be discarded.

Request payload format:

  • Without body: <route>
  • With body: <route>\n<json>

Examples:

/supported_operations
/check
{"pay_id":"ORDER-1001","language":"en","no_print_data":false}

Response payload is always the standard JSON response envelope.